Today, smart cards are widely used in society. For example, smart cards may be used as electronic identity (eID) cards. The end-user acceptance of such eID cards, however, is still relatively low. Although the eID cards are relatively secure, due to their cryptographic capabilities, they are usually not equipped with a user interface suitable for entering user credentials, i.e. a so-called “authentication interface”. As a consequence, the majority of eID users still enter their PIN code through personal computers and laptops, which increases the risk that their credentials are intercepted by malicious software such as Trojans and key-logger programs.
It is known to integrate an authentication interface into a smart card. For example, EP 2 575 084 A1 describes techniques for entering a secret, for example user credentials, into a security token—in particular a smart card—using an embedded tactile sensing user interface with the purpose of verifying the secret against a stored representation of the same secret. In particular, an embodiment of the security token comprises a tactile sensing user interface being arranged to receive a user-encoded secret, a decoding unit being arranged to generate a decoded secret by decoding the user-encoded secret, a comparison unit being arranged to compare the decoded secret with a copy of the secret stored in the token in order to verify the authenticity of a user. Thereby, the security token provides on-card matching functionality.
A smart card of the kind set forth typically comprises a standard microcontroller unit which may, for example, control the tactile sensing user interface. Such a microcontroller unit is typically programmed with firmware before it is integrated into the smart card. Normally the microcontroller unit has special debug interfaces for programming, which cannot be accessed if the microcontroller unit has already been assembled on a smart card. Therefore, it is difficult to program or reprogram the microcontroller unit after it has been assembled on a smart card, for example when the smart card is already in use.